package bavaria.hightech.formatter;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.ResourceBundle;

import bavaria.hightech.banking.BankImpl;
import bavaria.hightech.banking.Buchung;
import bavaria.hightech.banking.Konto;

public class TextPlainFormatter extends Formatter{
	
	private StringBuffer kontoauszug;
	private ResourceBundle lang;
	
	public TextPlainFormatter(){
		kontoauszug = new StringBuffer();
		lang = BankImpl.getlang();
	}
	
	public void addInhaber(Konto konto){
		
		kontoauszug.append(lang.getString("owner")+": " + konto.getKontoinhaber() + "\n");
		kontoauszug.append(lang.getString("accountnr")+": " + konto.getKontonr() + "\n");
		kontoauszug.append(lang.getString("balance")+": " + konto.getKontostand() + "\n\n");
		
	}
	
	public void addBuchung(Buchung buchung){
		kontoauszug.append(lang.getString("date")+": " + buchung.getDate() + "\n");
		kontoauszug.append(lang.getString("amount")+": " + buchung.getMoney() + "\n");
		kontoauszug.append(lang.getString("matter")+": " + buchung.getBuchungstext() + "\n\n");
	}
	
	public void getKontoauszug(String path){
		path = path +"\\statement.doc";
		try {
			OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(path));
			osw.write(kontoauszug.toString());
			osw.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		
	}

}
